﻿using Raven.Client;
using Raven.Client.Document;

namespace TodoApi.Data
{
    public class RavenDocumentStore
    {
        private const string _Url = "http://localhost:8080/";
        private static IDocumentStore _DocumentStore;
        private static readonly object _LockPad = new object();
        private RavenDocumentStore() {}

        public static IDocumentStore InitialiseDocumentStore()
        {
            if (_DocumentStore==null) 
            {
                lock (_LockPad)
                {
                    if (_DocumentStore == null)
                    {
                        _DocumentStore = new DocumentStore { Url = _Url };
                        _DocumentStore.Initialize();
                    }
                }
            }

            return _DocumentStore;
        }
    }
}